#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/wait.h>
#include <stdlib.h>
int isprime(int x);
int main(int argc, char **argv)
{
	pid_t pid;
	for(int i=100; i<=300; i++){
		pid = fork();
		if (pid == -1){
			perror("fork()");
			return -1;
		}
		if(pid == 0){
			//子进程
			if(isprime(i)){
				printf("pid = %d, %d\n",getpid(), i);
			}
			exit(0);
		}
		/*else{
			//父进程
			wait(NULL);
			//printf("质数搜索完毕！！！！\n");
		}*/
	}
	for(int i=100; i<=300; i++)
	{
		wait(NULL);
	}
	return 0;
}
int isprime(int x)
{
	if(x <= 0 )
		return 0;
	for (int i=2; i<x; i++){
		if(x%i == 0){
			return 0;
		}
	}
	return 1;
}
